home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / workbench / libs / gadutil.lha / GadUtil / docs / GadUtil_dev.readme < prev    next >
Text File  |  1996-04-29  |  12KB  |  260 lines

  1. Short:    GUI creation library - developer archive
  2. Author:   P-O Yliniemi / Staffan Hämälä
  3. Uploader: peoyli@pluggnet.se (P-O Yliniemi)
  4. Version:  37.0
  5. Type:     dev/gui
  6.  
  7. Some examples may have weird names (for those who don't understand swedish),
  8. and some text files may be in swedish. This will be fixed in a later release.
  9. Contact me if there is any problem using any of the examples or the docs.
  10.  
  11. Two versions of the .library file is available with this developer package.
  12. One is the "normal" library, and the other one prints out a lot of info when
  13. executing a program that uses GadUtil.
  14.  
  15. If you need to use the debug version, rename the normal version in libs:,
  16. copy the debug version to libs, and rename it to gadutil.library. Reverse
  17. this to change back to the normal version. Don't forget to "flush" all
  18. unused libraries or reboot before testing the program again.
  19.  
  20. All necessary files for Asm & C development are included.
  21.  
  22. Changes overview:
  23. ~~~~~~~~~~~~~~~~~
  24. * 37.0  (29-Apr-96)
  25.     A new function that checks the library's revision added.
  26.     Two new tags added: GU_FractWidth and GU_FractHeight. Suggested
  27.     by Morten Amundsen.
  28.  
  29.     Some small bug fixes in 'C' include files (unterminated comments).
  30.     Cleaned up BetterTest.c a bit (removed some {}). Bug fix on the
  31.     last line of the example (GT_ReplyIMsg -> GU_ReplyIMsg).
  32.  
  33.     Added support for StormC in both installer script and include-
  34.     file installer. Created dictionary for StormC, so that all words
  35.     that belongs to GadUtil (functions, tags and constants) is shown
  36.     in another color.
  37.  
  38. * 36.60 (24-Feb-96)
  39.     Uses the screen's font as the gadget font if no GU_DefTextAttr or
  40.     GU_TextAttr tag is used. Bug fix from v36.59. Changed some docs,
  41.     assembled all examples,    changed installation scripts.
  42.  
  43. * 36.59 (06-Jan-96)
  44.     More docs completed (all docs, finally). Bug fix in the GU_AutoWidth,
  45.     GU_AdjustLeft and GU_AdjustRight tags. The underscore character was
  46.     counted as a normal one. This made gadgets without hotkeys one char
  47.     smaller than other gadgets. A new function that sorts one or two
  48.     lists was added. Some new constants added in include files.
  49.     Changed GU_MinimumIDCMP to support hotkeys. Changed PROGRESS_KIND
  50.     to use GU_GadgetText and GU_LocaleText. Uses the screen's font as
  51.     the gadget font if no GU_DefTextAttr or GU_TextAttr tag is used.
  52.  
  53. * 36.58 (01-Jan-96)
  54.     SLIDER_KIND and SCROLLER_KIND gadgets returned wrong result in
  55.     im->Code if the gadget was changes using the hotkey. Bug reported
  56.     by Lucasz Szelag.
  57.  
  58. * 36.57 (10-Dec-95)
  59.     Some more docs finished. A memory loss bug was fixed.
  60.  
  61. * 36.56 (10-Oct-95)
  62.     Changed some routines, so that hotkeys can't be used on disabled
  63.     gadgets. Made it possible to disable IMAGE_KIND, FILE_KIND and
  64.     DRAWER_KIND gadgets.
  65.  
  66. * 36.55 (30-Sep-95)
  67.     Bug fix in the hotkey part of the library. Wrong code were sent back
  68.     when using GU_LabelHotkey with a LISTVIEW_KIND gadget. A new gadget
  69.     kind was created, PROGRESS_KIND.
  70.  
  71. * 36.54 (06-Jul-95)
  72.     Added support for GU_AutoWidth to CYCLE_KIND gadgets.
  73.  
  74. * 36.53 (05-Jul-95) 
  75.     3 new tags and 4 new flags was added for the BEVELBOX_KIND gadget.
  76.     BEVELBOX_KIND gadgets can now have a shadow added to the text in the
  77.     border. The "sun" can be placed in 4 different places. GU_MinimumIDCMP
  78.     tag was added.
  79.  
  80. * 36.52 (25-Jun-95)
  81.     First public release. Some new flags for the BEVELBOX_KIND gadget was
  82.     added. Supports a total of 100 bevelbox kinds.
  83.  
  84.                                           P-O 960429
  85.                                           ~~~~~~~~~~
  86. ------------------------------------------------------------------------------
  87.  
  88.                             GadUtil.library v37.0
  89.                             ~~~~~~~~~~~~~~~~~~~~~
  90.     GadUtil is another gui library which main goal was to make it easy to
  91.     create font sensitive user interfaces. The library has grown away from
  92.     this main goal, and become another useful-routine-library.
  93.  
  94.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  95.     Distribution:
  96.  
  97.         1) Distribution of this library is allowed in two ways:
  98.              ¹) Only the .library file(s)
  99.              ²) The complete distribution
  100.  
  101.         2) Programmers of totally free software can use and distribute this
  102.           library for free.
  103.  
  104.         3) Programmers of Shareware, Licensware, commercial products and other
  105.            programs that the programmer get any kind of profit from shall send
  106.            a fully working (and registered) copy of the program and its docs to
  107.            us. All larger updates of the program should also be sent to us.
  108.           
  109.         4) Programmers of non-free software not covered by 1) and 2) (my Diskware
  110.            concept belongs to this group) shall be treated as in 3) (a fully
  111.            working and registered copy...).
  112.  
  113.         5) All programs (except commercial products in some cases) must state
  114.            that gadutil.library is used. This may be done in either the About
  115.            requester or in the documentation, but best of all in both places.
  116.  
  117.            Demonstration programs for gadutil.library (that includes the full
  118.            source) may be distributed without this note.
  119.  
  120.            Example for inclusion in About requester:
  121.  
  122.                 "This program uses gadutil.library, which
  123.                  is Copyright © 1994-1996 by P-O Yliniemi
  124.                  and Staffan Hämälä."
  125.  
  126.         6) All localized programs that uses this library should include the
  127.            .ct file(s) to allow anyone to translate that program into their
  128.            own language.
  129.  
  130.  
  131.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132.     Below is a list of some of the main functions covered by this library.
  133.  
  134.     * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
  135.       WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
  136.  
  137.     * Font adaptive. Use any of the system fonts and most other fonts for
  138.       gadgets, texts and menus. All gadgets are placed relative to each
  139.       other, but can be placed at absolute positions (needed for the first
  140.       gadget).
  141.  
  142.     * No need to use GIMMEZEROZERO windows, as this is automatically handled
  143.       by the library. If you specify a gadget position of 10,10 the gadget
  144.       will be placed at 10,10 within the window's border.
  145.  
  146.     * Localized. It is really easy to localize all your (new) programs by
  147.       using this library. Functions and macros for creating localized menus
  148.       are supplied.
  149.  
  150.     * Both assembly and 'C' language support. This is one of the things that is
  151.       missing in most of the other gui libraries. Some extra macros are defined
  152.       for assembly language users, and will make the gadget and menu creating
  153.       process even more easy.
  154.  
  155.     * All GadTools gadgets are supported. Some extra functions are provided
  156.       for ListViews. BUTTON_KIND (and IMAGE_KIND) gadgets have some extra tags,
  157.       including a toggle-select option.
  158.  
  159.       5 extended gadget types are handled by the library:
  160.     
  161.         · FILE_KIND     - gadget for selecting a file.
  162.  
  163.         · DRAWER_KIND   - gadget for selecting a drawer. Most programs also
  164.                          use this gadget for file selection.
  165.  
  166.         · IMAGE_KIND    - uses an intuition image for the gadget. Can use
  167.                           different images for selected and non-selected state.
  168.  
  169.         · BEVELBOX_KIND - gadtools bevelboxes, with some extensions. All
  170.                           gadtools bevelboxes are supported (even with v37).
  171.                           Extensions allows text to be placed above, in or below
  172.                           the upper line of the box. All kinds can be inverted.
  173.  
  174.                           New for v36.52: Bevelbox text placement extended.
  175.                           3 new placements available together with the old
  176.                           ones: centered, left adjusted & right adjusted.
  177.  
  178.                           BFT_BUTTON   - GT v37 BUTTON_KIND border
  179.                           BFT_RIDGE    - GT v37 STRING_KIND border
  180.                           BFT_DROPBOX  - GT v39 BBFT_ICONDROPBOX border
  181.                           BFT_HORIZBAR - A horizontal shadowed line
  182.                           BFT_VERTBAR  - A vertical shadowed line
  183.  
  184.                           This makes it a total of 100 bevel box types. The bevel
  185.                           boxes are treated as gadgets by the library, and you
  186.                           can obtain the structure for the bevelbox in the same
  187.                           way as you get the gadget pointer.
  188.  
  189.                           New for v36.53: Added optional shadow on bevel box text.
  190.                           The shadow has a selectable color/pen and the "sun" can
  191.                           be placed in four different positions.
  192.  
  193.         · PROGRESS_KIND - progress indicator gadget. Background and fill color
  194.                           can be selected. Supports values up to 4.294.967.295,
  195.                           but maximum value should not exceed 4.294.967.295/width.
  196.                           v36.55.
  197.  
  198.     * Can create the minimum required IDCMP mask so that all gadgets works.
  199.  
  200.     * A new OpenFont (graphics.library and diskfont.library replacement) is supplied.
  201.       This function will open any font (from RAM, ROM or load it from disk).
  202.  
  203.     * Functions for listviews include adding nodes (memory for the string is
  204.       allocated by the function), counting nodes, getting node pointers, clearing
  205.       a listview, attach and detach lists, moving nodes up and down. A function
  206.       that allows you to sort one or two lists is included from v36.59.
  207.  
  208.     * No need to open gadtools.library anymore, since all gadtools functions are
  209.       provided through this library. Some (the most useable) functions from locale
  210.       library are also provided by gadutil.
  211.  
  212.     * Many libraries are opened through gadutil.library, and these library bases
  213.       are available for your own use (you don't have to open or close some libs).
  214.  
  215.     * All gadgets are created using tag lists. Every next gadget will use the
  216.       previous gadgets values as defaults. Only one call to the gadget making
  217.       routine is needed for every gadget list.
  218.  
  219.     * All gadgets can have their own hotkey. No extra work is needed by the
  220.       programmer (only one extra tag).
  221.  
  222.     * Distributed with lots of examples, mostly in assembly language, but also
  223.       in 'C'.
  224.  
  225.     * Other functions include:
  226.  
  227.         · Status change for toggle select buttons.
  228.  
  229.         · String change for STRING and TEXT_KIND gadgets.
  230.  
  231.         · Disable functions for all gadget kinds (new for 36.56).
  232.  
  233.         · Routines to set up a busy-pointer (available for both v37 and v39). These
  234.           routines also blocks the input to the main window of the program.
  235.  
  236.         · Routine to check if the mouse pointer is within a gadgets box. Useful
  237.           for mouse-position sensitive appwindows.
  238.  
  239.         · Bevelbox and window refreshing functions.
  240.  
  241.     * FAST (NO OR VERY SMALL DIFFERENCE AGAINST GADTOOLS) AND SMALL (LESS THAN 10k).
  242.       WRITTEN IN ASSEMBLY LANGUAGE. NO F*CKING 'C' or any other slow language!
  243.  
  244.  
  245.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  246.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  247.         Per-Olof Yliniemi                           Staffan Hämälä
  248.         Box 78                                      Pellovägen 268
  249.         S-980 61 Tärendö                            S-957 93 Pello
  250.         SWEDEN                                      SWEDEN
  251.  
  252.         email:                                      email:
  253.           peoyli@pluggnet.se                          staham@pluggnet.se
  254.  
  255.         phone:
  256.           +46-(0)978-20522
  257.  
  258.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  259.   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  260.